package com.nicolas.pattern.command;

/**
 *  Invoker（调用者）：调用者即请求发送者，它通过命令对象来执行请求。
 *  一个调用者并不需要在设计时确定其接收者，因此它只与抽象命令类之间存在关联关系。
 *  在程序运行时可以将一个具体命令对象注入其中，再调用具体命令对象的execute()方法，
 *  从而实现间接调用请求接收者的相关操作。
 * @author nicolas  2017年2月12日 -- 下午5:12:06
 */
public class FunctionButton {
	private String name; //功能键名称  
    private Command command; //维持一个抽象命令对象的引用  
      
    public FunctionButton(String name) {  
        this.name = name;  
    }  
      
    public String getName() {  
        return this.name;  
    }  
      
    //为功能键注入命令  
    public void setCommand(Command command) {  
        this.command = command;  
    }  
      
    //发送请求的方法  
    public void onClick() {  
        System.out.print("点击功能键：");  
        command.execute();
    }
}
